home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Examples / Demos / Lorenz Data < prev    next >
Lisp/Scheme  |  1998-10-26  |  1KB  |  62 lines

  1. ; by Nigel Morgan
  2. ; to analyze the score double-click high-lighted keywords
  3.  
  4. (gen-lorenz xmat ymat zmat 100 0.02 0.7 0.7 0.7) ; symbol melodies
  5. (gen-lorenz xton yton zton 10) ; tonalities
  6.  
  7. (setq mel1 (vector-to-symbol a l xmat))
  8. (setq mel2 (vector-to-symbol a l ymat))
  9. (setq mel3 (vector-to-symbol a l zmat))
  10.  
  11. (setq rhy1 (vector-to-list (length-quantize 1/32 -1/16 1/4 xmat))))
  12. (setq rhy2 (vector-to-list (length-quantize 1/16 -1/16 1/4 ymat)))
  13. (setq rhy3 (vector-to-list (length-quantize 1/16 -1/16 1/4 zmat)))
  14.  
  15. (create-tonality scale1 (vector-to-list (vector-round 1 12 xton)))
  16. (create-tonality scale2 (vector-to-list (vector-round 1 12 yton)))
  17. (create-tonality scale3 (vector-to-list (vector-round 1 12 zton)))
  18.  
  19. (def-symbol
  20.     part1 mel1
  21.     part2 mel2
  22.     part3 mel3
  23. )
  24.  
  25. (def-length
  26.     part1 rhy1
  27.     part2 rhy2
  28.     part3 rhy3
  29. )
  30.  
  31. (def-velocity
  32.     part1 (symbol-to-velocity 120 32 7 mel1)
  33.     part2 (symbol-to-velocity 120 32 7 mel2)
  34.     part3 (symbol-to-velocity 120 32 7 mel3)
  35. )
  36.  
  37. (def-tonality
  38.     part1 (activate-tonality (scale1 c 5)) 
  39.     part2 (activate-tonality (scale2 c 4))
  40.     part3 (activate-tonality (scale3 c 3))
  41. )
  42.  
  43. (def-zone
  44.     part1 (make-zone rhy1)
  45.     part2 (make-zone rhy2)
  46.     part3 (make-zone rhy3)
  47. )
  48.  
  49. (def-channel
  50.     part1 1
  51.     part2 2
  52.     part3 3
  53. )
  54.  
  55. (midiport :printer)
  56.  
  57. (compile-instrument-p "ccl;output:" "lorenz midi"
  58.    part1
  59.    part2
  60.    part3
  61. )
  62.